def get_logging(level, filename):
    config = {
        'version': 1,
        'disable_existing_loggers': False,
        'formatters': {
            'simpleFormatter': {
                'format': '[%(asctime)s] [%(name)s]'
                          ' [%(levelname)s] - %(message)s',
                'datefmt': None
            },
            'complexFormatter': {
                'format': '[%(asctime)s] [%(name)s] [%(levelname)s]'
                          ' [%(module)s:%(lineno)d] - %(message)s',
                'datefmt': None
            },
        },
        'handlers': {
            'fileHandler': {  # 指定一个文件 handler, 仅保存 ERROR 及其以上级别的日志
                'class': 'logging.FileHandler',
                'level': 'DEBUG',
                'formatter': 'complexFormatter',
                'filename': filename,
            },
            'consoleHandler': {  # 指定一个 stream handler, 打印 DEBUG 及其以上级别的日志
                'class': 'logging.StreamHandler',
                'level': 'INFO',
                'formatter': 'simpleFormatter',
            }
        },
        'loggers': {
            'root': {
                'level': level,  # 在这里指定的 level, 优先级比 handler 中的 level 更高
                'handlers': ['consoleHandler']
            },
            'tornado': {
                'level': level,
                'handlers': ['consoleHandler', 'fileHandler'],
                'qualname': 'tornado',
                'propagate': '0',
            },
            'server': {
                'level': level,
                'handlers': ['consoleHandler', 'fileHandler'],
                'qualname': 'server',
                'propagate': '0',
            },
            'pubsub': {
                'level': level,
                'handlers': ['fileHandler'],
                'qualname': 'pubsub',
                'propagate': '0',
            },
        },

    }
    return config
